package com.weayer.constant;

import lombok.Getter;

/**
 * @description: 统一状态码
 * @author: Weayer
 **/
public enum CommonStatusEnum {
    // 验证码：1000 ~ 1099
    CALL_USER_ADD_ERROR(1000, "调用新增用户异常"),
    CHECK_CODE_ERROR(1001,"验证手机号和验证码异常"),
    VERIFICATION_CODE_INVALID(1098, "验证码失效"),
    VERIFICATION_CODE_ERROR(1099, "验证码不正确"),

    // Token：1100 ~ 1190
    TOKEN_ERROR(1199, "token失效"),

    // 用户信息：1200 ~ 1299
    USER_NOT_EXIST(1200, "用户不存在"),

    // 计价规则：1300 ~ 1399
    PRICE_RULE_EMPTY(1300, "计价规则不存在"),
    PRICE_RULE_EXISTS(1301, "计价规则存在"),
    PRICE_RULE_NEED_CHANGE(1302, "计价规则需要修改"),

    // 地图信息：1400 ~ 1499
    MAP_ERROR(1400, "请求地图错误"),

    // 司机和车辆：1500 ~ 1599
    DRIVER_CAR_BIND_NOT_EXISTS(1500, "司机和车辆绑定关系不存在"),
    DRIVER_CAR_BIND_EXISTS(1501, "司机和车辆绑定关系存在"),
    DRIVER_BIND_EXISTS(1502, "司机已经被绑定"),
    CAR_BIND_EXISTS(1503, "车辆已经被绑定"),
    DRIVER_NOT_EXISTS(1504, "司机不存在"),
    DRIVER_STATUS_UPDATE_ERROR(1505,"司机工作状态修改失败"),

    // 订单信息：1600 ~ 1699
    ORDER_CAN_NOT_CREATE(1600, "订单正在进行中，请稍后下单"),
    DEVICE_IS_BLACK(1601, "该设备超过下单次数"),
    CITY_SERVICE_NOT_SERVICE(1602, "当前城市地区不提供网约车服务"),
    CITY_DRIVER_NOT_AVAILABLE(1603, "当前城市没有可用司机"),
    AVAILABLE_DRIVER_EMPTY(1604, "当前可用的司机为0"),
    ORDER_NOT_EXISTS(1605,"订单不存在"),
    ORDER_CAN_NOT_GRAB(1606 , "订单不能被抢"),
    ORDER_GRABBING(1607, "订单正在被抢"),
    ORDER_UPDATE_ERROR(1608,"订单修改失败"),

    // 统一验证：170 ~ 1799
    VALIDATION_EXCEPTION(1700, "统一验证框架错误提示"),

    SUCCESS(1, "success"),
    FAIL(0, "统一异常信息 fail");


    @Getter
    private int code;
    @Getter
    private String value;

    CommonStatusEnum(int code, String value){
        this.code = code;
        this.value = value;
    }
}
